#pragma once
#include "BaseNode.h"
#include <QString>

// 前向声明
class BasePort;

class AddNode : public BaseNode
{
    // 注意：QGraphicsItem 不是 QObject 的子类，所以不能使用 Q_OBJECT 宏

public:
    explicit AddNode();
    ~AddNode() override = default;

    // 实现基类的纯虚函数
    void processLogic() override;
    QString getNodeType() const override;
    QColor getNodeColor() const override;

private:
    double m_inputA;
    double m_inputB;
    double m_result;
    
    // 端口引用
    BasePort* m_inputPortA;
    BasePort* m_inputPortB;
    BasePort* m_outputPort;
};